home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48_2 / tetris3 / comp.sys.handhelds_5415_000000.msg
Internet Message Format  |  1995-03-31  |  17KB

  1. Path: en.ecn.purdue.edu!noose.ecn.purdue.edu!samsung!mips!sdd.hp.com!hp-pcd!hpcvra.cv.hp.com!rnews!hpcvbbs!akcs.falco
  2. From: akcs.falco@hpcvbbs.UUCP (Andrey Dolgachev)
  3. Newsgroups: comp.sys.handhelds
  4. Subject: Tetris3 for the HP48sx
  5. Keywords: tetris, tetris3, hp48, falco
  6. Message-ID: <27f572ac:2556comp.sys.handhelds@hpcvbbs.UUCP>
  7. Date: 31 Mar 91 05:40:07 GMT
  8. Lines: 648
  9.  
  10. Here we go again, here's the next version of Tetris, and it is a
  11. significant enough upgrade to warrant the Tetris 3.0 label.  First of
  12. all, the new features and revisions.  In addition to the minor bug fixes
  13. and such, I made the game more like the computer version.
  14.  
  15.      1)  Levels!  There are now 10 levels, 0 through 9.  I used the same
  16. delay function, so the end result is the same.  However, instead of the
  17. speed just increasing continuosly, there is a speed increase every time
  18. you reach the next level.  After a certain amount of time, you go up a
  19. level, just like the real Tetris.  Also, you can specify which level you
  20. want to start with (discussed later), and you can go up a level while
  21. playing by pressing K (the up arrow).
  22.      2)  Real scoring.  The scoring is now just like the real computer
  23. version of Tetris by Spectrum Holobyte.  You only get points for pieces
  24. dropped, not lines.  You get more points for higher levels and for
  25. dropping the pieces higher.  Also, turning on the Draw Next Piece
  26. function takes off points (3/4).
  27.      3)  Customization.  There is a program called CONFIG which makes it
  28. easier for the user to customize some features of Tetris.  You can
  29. specify what kind of Dissolve sequences you want for each of the three
  30. times that a screen dissolve takes place.  CONFIG gives the codes for the
  31. dissolve sequences by the way.  Simply experiment with the different
  32. codes to see what it does.  The three phase where screen dissolves take
  33. place are the beginning, the high score drawing, and the return to the
  34. stack (1,2,3).  You can also specify if you want your score, lines, and
  35. level left on the stack as labeled numbers.  You also use this program to
  36. specify your starting level and to erase your high scores (which can also
  37. be done with the Erase command in the second row).  The default values
  38. are built-in, so if you don't want to change something, just type return
  39. to go on to the next screen.  It will be evident when you use it.  All
  40. this program does is provide a user-friendly way of changing the
  41. paramater list, DLST.  DLST contains five numbers.  The first three have
  42. tags, and indicate the dissolve types for each phase, the fourth
  43. indicates whether you want your score left on the stack (0 is no, 1 is
  44. yes) and the fifth is a number from 0 to 9 indicating your starting
  45. level.  
  46.      4)  Misc. Revisions.  The pieces now appear one square higher, and
  47. the board "fills" up one square higher.  This is the maximum space you
  48. can have, unless I go back and really change (read as slow down) the XFIG
  49. and TFIG routines.  Two more squares of room is nice though.  When you
  50. drop your piece, it immediately appears at the bottom, just like the real
  51. Tetris.  The draw next piece has been revised.  It is now at the right
  52. side of the screen, and the piece that appears in the Next Piece window
  53. is in the same rotational position as the one which drops.  I also
  54. changed the order of the rotations of the pieces to match the real Tetris
  55. game.  The Pausing function now only saves part of the GROB, instead of
  56. the whole screen, so it can be used with less memory.
  57.      5)  Flags and stuff.  All the subprograms now use the subprogram
  58. PREP to s, unstripped form, I actually organized them to make it easier
  59. to understand.  The first line of the VAR menu contains the six functions
  60. you use to do everything.  Then, you have the ERASE and DLST commands
  61. which are used by CONFIG and which you can use if you know how (allowing
  62. you to erase CONFIG if you don't need it).  Then, the next two programs
  63. are the ones that you can modify to suit your needs if you wanta risk it.
  64.  RK2 contains the different key commands.  Change this if you want a
  65. different key layout.  PREP is the subprogram which allows TETRIS to run
  66. fine.  Then, the three variables holding your score things.  Then the
  67. four ML and GROBS which you should ASC if you do TEXT transfer.  That
  68. finishes out the third row.  The fourth row contians the essential TETRIS
  69. functions, the fifth row contains more essential functions and variables.
  70.  The sixth row contains the functions and variables essential to the
  71. Drawing of the next piece.  It also has the variables L and SAV used in
  72. pausing the program.  The seventh row contains the functions and
  73. variables used for the levels.  The eighth row contains the graphics
  74. routines for setting up the screen.  And the ninth row contains the
  75. finsih routine and the drawing of the high scores stuff.  The 54
  76. variables and subprograms account for the fact that Tetris now takes up a
  77. little over 8k.
  78. O.K. I think that's it.  I also fixed any bugs which were recently posted
  79. which there were only a few of.
  80.  
  81. Now for the credits.  Credit goes to Erik Bryntse for the original Tetris
  82. with partial machine code routines, and Joe Ervin for the Screen Dissolve
  83. code.  Also, thanks to everybody who posted bugs and revisions ideas.  
  84.  
  85. And of course, I give no guarantees or warranties and I am not liable if
  86. this game makes you go crazy or blows up your 512k RAM card.
  87.  
  88. Now for the instructions.  Download the following, and transfer it to
  89. your calculator.  Then, make sure that ASC-> is in the same or a higher
  90. level as Tetris3.  Then press SETUP in the Tetris3 directory to ASC-> the
  91. 5 MC and GROB's.  If you don't know what ASC-> is, read my next message. 
  92. Press HELP if you need it.  It's not a very complicated game or anything
  93. though.  Some general things though on the game.  When you press O, the
  94. HP turns off, when you turn it on, the game continues.  When you press P,
  95. the game suspendace.
  96.  
  97. Some additional things.  Since Tetris3 is 8k, I didn't ->ASC it all since
  98. you need to have a ram card to d/l it.  Also, I will post SmTetris, which
  99. is the small, compact version with none of the neat features but only 3k
  100. or so.  O.K. I think that is it.  I'll u/l the below and I'll check it to
  101. make sure it's all o.k. by d/l it myself.
  102. -------------------------cut here----------------------------------
  103. %%HP: T(3)A(D)F(.);
  104. DIR
  105.   SETUP
  106.     \<<
  107.       IFERR ASC\->
  108.       THEN XFIG
  109. ASC\-> 'XFIG' STO
  110. TFIG ASC\-> 'TFIG'
  111. STO DISS ASC\->
  112. 'DISS' STO PIC1
  113. ASC\-> 'PIC1' STO
  114. PIC2 ASC\-> 'PIC2'
  115. STO 'SETUP' PURGE
  116.       ELSE
  117. "Please make sure that
  118. ASC\-> is in or above 
  119. this directory level."
  120. 1 DISP INFLP
  121.       END
  122.     \>>
  123.   start
  124.     \<< LCD\-> PREP
  125. SWAP DEPTH 'L' STO
  126. IFERR TETRIS THEN
  127.     END "" 3 DISP
  128. "" 4 DISP DEPTH L -
  129. DROPN 3 DISER STOF
  130. "" 'SAV' STO
  131.     IF DLST 4 GET
  132.     THEN PNTS
  133. "Points" \->TAG LINS
  134. "Lines" \->TAG LVL
  135. "Level" \->TAG
  136.     END
  137.   \>>
  138. RESU
  139.   \<< IFERR LCD\-> PREP
  140. SWAP DEPTH 'L' STO
  141. MKSCR SAV LIST\->
  142. DROP PICT SWAP {
  143. # 43d # 0d } SWAP
  144. REPL CONT THEN
  145. "Game is not paused.
  146. Press START to start
  147. a new game."
  148. 3 DISP DROP INFLP
  149.   END
  150. \>>
  151.               ABOUT
  152. \<< PREP CLLCD
  153. "   - Tetris3.0 by - 
  154.    Andrey Dolgachev
  155.      - Credits - 
  156. Erik Bryntse for the
  157. original HP48 version.
  158. Joe Ervin for the 
  159. Screen Dissolve code."
  160. 1 DISP INFLP STOF
  161. \>>
  162.               HELP
  163. \<< PREP CLLCD
  164. "RESU   - Resume paused
  165.          game
  166.  
  167. HIGH   - Show Top 5
  168.  
  169. CONFIG - Personalize
  170.          your Tetris"
  171. 1 DISP INFLP CLLCD
  172. "      DURING GAME
  173.  
  174. N - Draw Next
  175. O - Off       8 - Flip
  176. P - Pause   4,6 - R,L
  177. Q - Quit      0 - Drop
  178. K - Up a level"
  179. 1 DISP INFLP STOF
  180. \>>
  181.               HIGH
  182. \<< LCD\-> PREP SWAP
  183. DUP PICT SWAP {
  184. # 0d # 0d } SWAP
  185. REPL { # 0d # 0d }
  186. PVIEW DRHI 3 DISER
  187. STOF
  188. \>>
  189.               CONFIG
  190. \<< PREP CLLCD
  191. "There are three 
  192. dissolve sequences. 
  193. Enter the appropriate
  194. codes next screen.
  195. A 0 means no dissolve,
  196. 1 is bit-wise,
  197. 2 is tiling effect."
  198. 1 DISP INFLP
  199. "Enter the diss. codes"
  200. { ":1:1
  201. :2:1
  202. :3:1"
  203. { -1 4 } } INPUT
  204. OBJ\->
  205. "Do you want your score
  206. to be left on the 
  207. stack? (0/1)"
  208. { "1" -1 } INPUT
  209. OBJ\->
  210. "Enter your starting
  211. level (0-9)"
  212. { "0" -1 } INPUT
  213. OBJ\-> 5 \->LIST 'DLST'
  214. STO
  215. "Do you want your high
  216. scores erased? (0/1)"
  217. { "0" -1 } INPUT
  218.   IF "1" ==
  219.   THEN Erase
  220.   END STOF
  221. \>>
  222.               Erase
  223. \<< { 0 "" 0 } DUP
  224. DUP2 DUP 5 \->LIST
  225. 'SCORES' STO
  226. \>>
  227.               DLST
  228. { :1: 1 :2: 1 :3: 1
  229. 1 0 }
  230.               RK2
  231. \<<
  232.   IF KEY
  233.   THEN
  234.     IF { 25 72 74
  235. 92 63 34 35 33 32 }
  236. SWAP POS DUP
  237.     THEN {
  238.       \<<
  239.         IF LVL 9 <
  240.         THEN 'LVL'
  241. INCR GETLV SHLV
  242.         END
  243.       \>>
  244.       \<< # 1d NEG
  245. MSIDE
  246.       \>>
  247.       \<< # 1d MSIDE
  248.       \>> DROPIT ROTF
  249.       \<< PICT {
  250. # 43d # 0d } {
  251. # 84d # 60d } SUB
  252. DEPTH L - \->LIST
  253. 'SAV' STO 3 DISER
  254. STOF HALT
  255.       \>>
  256.       \<< 3 SF
  257.       \>> OFF
  258.       \<< 7 FC?C
  259.         IF
  260.         THEN 7 SF
  261. SHNP
  262.         ELSE ERNP
  263.         END
  264.       \>> } SWAP GET
  265. EVAL
  266.     ELSE DROP
  267.     END
  268.   END
  269. \>>
  270.               PREP
  271. \<< RCLF -40 CF STD
  272. 64 STWS # 131d
  273. # 64d PDIM
  274. \>>
  275.               PNTS
  276. 11
  277.               LINS
  278. 0
  279.               LVL 0
  280.               XFIG
  281. "CCD204410034E7507137143818F8E1358BE60691117E818F328FB97601CE1B56
  282. 507146134152739E1B20F880029916912014313234E4A201428A2606EB016915
  283. 271011741431321428A63E16915271001741431321428A68C1691567AFAAF122
  284. A95118C9AF5BF522A8520A8181D22A82C1201B56507146818F29818F29C91341
  285. 19BF2BF2241542BF616F16F1610D880BEBF4BF4BF4AF68AA60688F208F2D7601
  286. 42164808CE7C9"
  287.               TFIG
  288. "CCD20E310013606DD061B97507142137135818F098BA606FF014713481AF0914
  289. 234E4A208A26060E01691527100E717414381AF2914581AF291321428A26060B
  290. 01691567AFAAF1D122A95118C9D5F522A8520A81819F122A82C1201B56507146
  291. 818F29818F29C9136AF2156090A90B456E002F308200E49BF4BF4BF4AF68AE09
  292. AF0AF2AC48108087340E68084396840E614313216915472007DD071361421648
  293. 08C3CA6"
  294.               DISS
  295. "D9D20D4881D8A812BF8170140D9D208813026AC130A503223030A50322301192
  296. 004000A3D36D9D2044230C2A207200094E66716C69646027425F424024416471
  297. 6933A1B21301192038000A3D36D9D2044230C2A207200094E66716C696460274
  298. 25F4240244164716933A1B2130F7815322301192004000A3D36D9D2044230C2A
  299. 207200094E66716C696460205943445023596A756933A1B21301192038000A3D
  300. 36D9D2044230C2A207200094E66716C696460205943445023596A756933A1B21
  301. 3032230AEC8111920F780032230CCD20851008F14660AF38A850B478F14660AF
  302. 2DE109143818F09818F0981AF02174E78FB97601F56507147818F29818F2981A
  303. F08AF234FFF3094B9034FFF00D7AF0103104AF2311194B6031F0AE581AF13777
  304. 011CC6C6114C2818F220EF781AF0C81AF0B94F92819F2819F281AF0B81961AE4
  305. 80863A080857AE881AF1181AF1B8B280DE721081AF148AC298D3415081AF1AC2
  306. 135AF014B0E6011B13381AF10C213313514FBED0E650E6ABED15D001B2130B21
  307. 309C7D"
  308.               PIC1
  309. "E1B20FF0008100022000FFFFFF3000FFFFFF3000308300300010830020000083
  310. 0000000083000000008300000000830000000083000000008300000000830000
  311. 0000830000000083000000008300000000830000000083EFCF3000836CC63000
  312. 8368462000836006000083E706000083600600008368060000836C060000C7EF
  313. 0F00D0FE"
  314.               PIC2
  315. "E1B20FF000810002200000008FFF3000008FFF30000083003000008100200000
  316. 8100000000810000000081000000008100000000810000000081000000008100
  317. 00000087000000008FFF300000000C300000000030E7E700003036C300003016
  318. 810000303681000030E7810000308681800030C68181083066C38FFF3037E78F
  319. FF3002D5"
  320.               TETRIS
  321. \<< DLST 5 GET GETLV
  322. 3 CF 7 CF RAND 7 *
  323. IP 1 + 'NPC' STO 0
  324. 'PNTS' STO 0 'LINS'
  325. STO 0 'LVL' STO
  326. MKSCR
  327.   DO delay FLST NPC
  328. RAND 7 * IP 1 +
  329. 'NPC' STO SHNP DUP
  330. 'OB1' STO GET 1 DUP
  331. 'OB2' STO GET # 12d
  332. # 256d - 1 CF 0
  333. 'CP' STO
  334.     DO RK2 RK2 RK2
  335. RK2 a WAIT
  336.       IF 1 FC?
  337.       THEN
  338.         IF 3 FC?
  339.         THEN DUP2
  340. # 0d XFIG # 256d +
  341. DUP2 # 0d + TFIG
  342.           IF # 0d
  343. ==
  344.           THEN DUP2
  345. # 63903d XFIG 'CP'
  346. INCR DROP
  347.           ELSE
  348. # 256d - # 63903d
  349. XFIG # 0d
  350.           END
  351.         END
  352.       END
  353.     UNTIL DUP # 0d
  354. == 3 FS? OR
  355.     END
  356.     IF 3 FC?
  357.     THEN CALP ADDP
  358. DROP PACK MEM DROP
  359.     END
  360.   UNTIL FULL 3 FS?
  361. OR
  362.   END FIN
  363. \>>
  364.               FULL
  365. \<<
  366. # 72356802986000645d
  367. # 522d DUP2 # 0d +
  368. TFIG ROT ROT # 5d +
  369. TFIG + # 0d >
  370. \>>
  371.               P2
  372. \<< 1 ADDL DUP
  373. # 3840d AND SRB 4 *
  374. 3 + # 43d SWAP 2
  375. \->LIST PICT SWAP {
  376. # 83d # 8d } SUB
  377. PICT { # 43d # 12d
  378. } ROT REPL
  379. \>>
  380.               PACK
  381. \<< # 3338d
  382.   DO TLIN
  383.     IF # 4d ==
  384.     THEN P2
  385.     ELSE # 256d -
  386.     END
  387.   UNTIL DUP # 512d
  388. <
  389.   END DROP
  390. \>>
  391.               TLIN
  392. \<< DUP
  393. # 72356802986000645d
  394. SWAP DUP2 # 0d +
  395. TFIG ROT ROT # 5d +
  396. TFIG +
  397. \>>
  398.               FLST
  399. { {
  400. # 17802707620356d
  401. # 279242096899d
  402. # 35399189680388d
  403. # 279242096901d } {
  404. # 17802707620357d
  405. # 279242097155d
  406. # 17806986854917d
  407. # 279242096645d } {
  408. # 17802707620355d
  409. # 206226604548d
  410. # 17944425808389d
  411. # 279242097157d } {
  412. # 17802708664837d
  413. # 279241044483d } {
  414. # 35399188627717d
  415. # 210504794628d } {
  416. # 52926935483141d
  417. # 279242097412d } {
  418. # 206226600196d } }
  419.               DROPIT
  420. \<< 1 SF
  421.   DO DUP2 # 0d XFIG
  422. # 256d + DUP2 # 0d
  423. + TFIG
  424.     IF # 0d \=/
  425.     THEN # 256d -
  426. # 63903d XFIG # 0d
  427.     END
  428.   UNTIL DUP # 0d ==
  429.   END
  430. \>>
  431.               MSIDE
  432. \<< \-> CD
  433.   \<< DUP2 # 0d XFIG
  434. CD + DUP2 # 0d +
  435. TFIG
  436.     IF # 0d \=/
  437.     THEN CD -
  438.     END DUP2
  439. # 63903d XFIG
  440.   \>>
  441. \>>
  442.               ROTF
  443. \<< DUP2 # 0d XFIG
  444. FLST OB1 GET OB2 1
  445. -
  446.   IF DUP 0 \<=
  447.   THEN DROP DUP
  448. SIZE
  449.   END DUP \-> OS2
  450.   \<< GET SWAP DUP2
  451. # 0d + TFIG
  452.     IF # 0d ==
  453.     THEN ROT DROP
  454. OS2 'OB2' STO
  455.     ELSE SWAP DROP
  456.     END DUP2
  457. # 63903d XFIG
  458.   \>>
  459. \>>
  460.               OB1 5
  461.               OB2 1
  462.               PPAR
  463. { (-6.5,-3.1)
  464. (6.5,3.2) X 0 (0,0)
  465. FUNCTION Y }
  466.               GTNP
  467. \<< \-> i
  468.   \<< FLST i GET 1
  469. GET
  470.     CASE i 6 ==
  471.       THEN # 2068d
  472.       END i 7 ==
  473.       THEN # 2580d
  474.       END i 6 <
  475.       THEN # 2324d
  476.       END
  477.     END
  478.   \>>
  479. \>>
  480.               SHNP
  481. \<<
  482.   IF 7 FS?
  483.   THEN ERNP NPC
  484. GTNP # 63903d XFIG
  485.   END
  486. \>>
  487.               ERNP
  488. \<< PICT { # 86d
  489. # 34d } # 22d # 17d
  490. BLANK REPL
  491. \>>
  492.               NPC 5
  493.               L 2
  494.               SAV
  495. ""
  496.               GETLV
  497. \<< 10 SWAP - .04 *
  498. DUP 'a' STO 'b' STO
  499. \>>
  500.               CALP
  501. \<< LVL 2 * 24 + CP -
  502.   IF 7 FS?
  503.   THEN .75 * IP
  504.   END
  505. \>>
  506.               delay
  507. \<< b .004 - DUP
  508.   IF 0 \<=
  509.   THEN .004 DUP 'a'
  510. STO 'b' STO DROP
  511.   ELSE
  512.     IF DUP .04 MOD
  513. 0 ==
  514.     THEN DUP 'a'
  515. STO 'LVL' INCR SHLV
  516.     END 'b' STO
  517.   END
  518. \>>
  519.               CP 8
  520.               a .4
  521.               b
  522. .392
  523.               MKSCR
  524. \<< DUP ERASE PICT {
  525. # 91d # 38d } PIC2
  526. REPL (-6.5,3.2)
  527. (6.5,-3.1) BOX
  528. (-2.2,3.2)
  529. (1.9,-2.8) BOX
  530. (-6.5,1.8)
  531. (6.5,1.6) BOX 1.5
  532. 1.1
  533.   FOR I -6.5 I R\->C
  534. 6.5 I .1 - R\->C BOX
  535. -.2
  536.   STEP PICT { # 3d
  537. # 38d } PIC1 REPL
  538. PICT { # 44d # 0d }
  539. # 40d # 60d BLANK
  540. REPL PICT { # 95d
  541. # 2d } "LINES :" 1
  542. \->GROB REPL PICT {
  543. # 2d # 2d }
  544. "SCORE :" 1 \->GROB
  545. REPL PICT { # 91d
  546. # 28d } "NEXT" 1
  547. \->GROB REPL PICT {
  548. # 7d # 28d }
  549. "LEVEL :" 1 \->GROB
  550. REPL 0 ADDP 0 ADDL
  551. SHLV PICT RCL SWAP
  552. PICT SWAP { # 0d
  553. # 0d } SWAP REPL {
  554. # 0d # 0d } PVIEW 1
  555. DISER
  556. \>>
  557.               DISER
  558. \<< DLST SWAP GET
  559. DTAG
  560.   IF DUP 0 ==
  561.   THEN DROP ERASE
  562. PICT SWAP { # 0d
  563. # 0d } SWAP REPL
  564.   ELSE 1 - SWAP
  565. DISS
  566.   END
  567. \>>
  568.               INFLP
  569. \<< 0 WAIT DROP
  570. \>>
  571.               ADDL
  572. \<< 'LINS' STO+ PICT
  573. { # 100d # 8d }
  574. LINS 1 \->GROB REPL
  575. \>>
  576.               ADDP
  577. \<< 'PNTS' STO+ PICT
  578. { # 5d # 8d } PNTS
  579. 1 \->GROB REPL
  580. \>>
  581.               SHLV
  582. \<< PICT { # 37d
  583. # 28d } LVL 1 \->GROB
  584. REPL
  585. \>>
  586.               FIN
  587. \<< SCORES 5 GET CHHS
  588.   IF
  589.   THEN HI
  590.   END DRHI
  591. \>>
  592.               HI
  593. \<< 4 \-> I
  594.   \<<
  595. "CONGRATS, YOU REACHED
  596. THE TOP FIVE"
  597. { "" \Ga } INPUT
  598. ERASE LCD\-> PICT
  599. SWAP { # 0d # 0d }
  600. SWAP REPL { # 0d
  601. # 0d } PVIEW PNTS
  602. SWAP LINS 3 \->LIST
  603.     DO
  604.       IF I 0 ==
  605.       THEN 0
  606.       ELSE SCORES I
  607. GET CHHS
  608.       END
  609.       IF
  610.       THEN -1 'I'
  611. STO+ 0
  612.       ELSE SCORES 1
  613. I SUB SWAP 1 \->LIST
  614. + SCORES I 1 + 4
  615. SUB + 'SCORES' STO
  616. 1
  617.       END
  618.     UNTIL
  619.     END
  620.   \>>
  621. \>>
  622.               DRHI
  623. \<< -.8 1.9 -6 -2.5
  624. 4.5 \-> N Y X1 X2 X3
  625.   \<< # 131d # 64d
  626. BLANK "HIGH SCORES"
  627. 3 \->GROB (-3.2,3.1)
  628. SWAP REPL "SCORE"
  629. -6.3 Y DRSC "NAME"
  630. -1.1 Y DRSC "LINES"
  631. 3.5 Y DRSC 1 5 -.2
  632. 'Y' STO+
  633.     FOR I N 'Y'
  634. STO+ SCORES I GET
  635. LIST\-> DROP 4 ROLL
  636. SWAP X3 Y DRSC SWAP
  637. X2 Y DRSC SWAP X1 Y
  638. DRSC
  639.     NEXT 2 DISER
  640. INFLP
  641.   \>>
  642. \>>
  643.               DRSC
  644. \<< R\->C SWAP 2 \->GROB
  645. REPL
  646. \>>
  647.               CHHS
  648. \<< 1 GET PNTS <
  649. \>>
  650.               SCORES
  651. { { 0 "" 0 } { 0 ""
  652. 0 } { 0 "" 0 } { 0
  653. "" 0 } { 0 "" 0 } }
  654.             END
  655. --------------------------that's it---------------
  656.  
  657.         ---Falco
  658.